home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 28
/
Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso
/
Aminet
/
dev
/
lang
/
nrcobol_1e.lha
/
NRCOBOL1e
/
COBFILES
/
HELLO3.COB
< prev
next >
Wrap
Text File
|
1997-06-25
|
2KB
|
63 lines
* ROUTINE TO DISPLAY A MULTIPLICATION GRID.
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO3.
AUTHOR. cHArRiOTt.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
01 X-SCREEN-DFT PIC 99 VALUE 10.
01 Y-SCREEN-DFT PIC 99 VALUE 05.
01 Y-ROW PIC 99.
01 X-COLUMN PIC 99.
01 X-POS PIC 99.
01 Y-POS PIC 99.
01 XY-PRODUCT PIC 9(3).
01 ws-limit pic 99 value 0.
*
*
PROCEDURE DIVISION.
001-MAIN.
DISPLAY (1 , 10)
"Routine to CALCULATE and DISPLAY a MULTIPLICATION TABLE".
display (3 , 10) "Enter maximum table size <limit 10> :".
accept (3, 48) ws-limit.
if ws-limit > 1 and ws-limit < 11 then
MOVE 1 TO Y-ROW
PERFORM 002-ROWS UNTIL Y-ROW > ws-limit
else
display (4 , 10) "Ending early, table outside range".
STOP RUN.
*
*
002-ROWS.
MOVE 1 TO X-COLUMN.
PERFORM 003-COLUMNS
VARYING X-COLUMN FROM 1 BY 1 UNTIL X-COLUMN > ws-limit.
ADD 1 TO Y-ROW.
*
*
003-COLUMNS.
MOVE ZEROS TO X-POS.
MULTIPLY X-COLUMN BY 5 GIVING X-POS.
ADD X-SCREEN-DFT TO X-POS.
*
MOVE ZEROS TO Y-POS.
MOVE Y-ROW TO Y-POS.
ADD Y-SCREEN-DFT TO Y-POS.
*
MULTIPLY Y-ROW BY X-COLUMN
GIVING XY-PRODUCT.
PERFORM 004-DISPLAY-PRODUCT.
*
*
004-DISPLAY-PRODUCT.
MOVE Y-POS TO LIN.
MOVE X-POS TO COL.
DISPLAY (LIN , COL) XY-PRODUCT.
*
*
*****END*******************************************